COVID-19 por estados

Row

Casos confirmados de COVID-19

11133

Óbitos por COVID-19

486

Letalidade

4 %

Row

Casos confirmados por estado

Clique nos estados para ver as estatísticas

Row

Óbitos por estado

Óbitos confirmados a partir do 100o dia

COVID-19 por municípios

Row

Casos confirmados de COVID-19

11133

Óbitos por COVID-19

486

Letalidade

4 %

Row

Casos confirmados por estado

Clique nos municípios para ver as estatísticas

Informação atualizada em 05/04/2020

Fonte dos dados

Casos de Covid-19 no Brasil

https://github.com/wcota/covid19br/

Software

The R Project for Statistical Computing

https://www.r-project.org/

DT: https://rstudio.github.io/DT/
flexdashboard: https://rmarkdown.rstudio.com/flexdashboard/
ggplot2: https://ggplot2.tidyverse.org/
leaflet: https://rstudio.github.io/leaflet/
leafpop: https://github.com/r-spatial/leafpop brazilmaps: http://github.com/rpradosiqueira/brazilmaps

Dashboard desenvolvido por Leonardo Bastos (pesquisador do MAVE/PROCC/Fiocruz) e por Lucas Bianchi (doutorando em epidemiologia, ENSP/FIocruz). Adaptado do dashboard desenvolvido pela professora Paula Moraga (Univeristy of Bath, UK) usando dados coletados pelo agregador desenvolvido por Wesley Cota (doutorando da UFV e Universidad de Zaragoza, Espanha).

---
title: "Coronavirus COVID-19 Brasil"
output: 
  flexdashboard::flex_dashboard:
    source_code: embed
    css: styles.css
    vertical_layout: scroll
    orientation: rows
    navbar:
    - { title: "MAVE", href: "http://covid-19.procc.fiocruz.br/" }
editor_options: 
  chunk_output_type: console
---

```{r, echo=FALSE, results='hide'}
library(tidyverse)
library(flexdashboard)
library(leaflet)
library(lubridate)
library(DT)
library(gridExtra)
library(brazilmaps)
library(leafpop)
library(sf)
```


```{r, echo=FALSE, results='hide', cache=FALSE}
###############################################
# Script feito por Leo Bastos (@leosbastos)
# 
# Esse (flex)dashboard foi desenvolvido por Leo Bastos 
# (pesquisador do MAVE/PROCC/Fiocruz) e por Lucas Bianchi 
# (doutorando em epidemiologia, ENSP/FIocruz). 
# Adaptado do dashboard desenvolvido pela professora 
# Paula Moraga (Univeristy of Bath, UK) usando dados coletados 
# pelo agregador desenvolvido por Wesley Cota 
# (doutorando da UFV e Universidad de Zaragoza, Espanha).


# Lendo dados

d.cidades <- read.csv("https://raw.githubusercontent.com/wcota/covid19br/master/cases-brazil-cities-time.csv",
                       sep=",",encoding = "UTF-8", 
                       stringsAsFactors = F) %>% 
  filter(!state == "TOTAL") %>% 
  mutate(status = "Confirmado",
         date = ymd(date)) 


d.cidades.cum <- read.csv("https://raw.githubusercontent.com/wcota/covid19br/master/cases-brazil-cities.csv",
                       sep=",",encoding = "UTF-8", 
                       stringsAsFactors = F) 


d.estados <- read.csv("https://raw.githubusercontent.com/wcota/covid19br/master/cases-brazil-states.csv", 
  sep=",", encoding = "UTF-8", stringsAsFactors = F) %>% 
  mutate(date = ymd(date))


## Mapas do Brasil pelo pacote brazilmaps

# Por municipio
cities_map <- get_brmap(geo = "City",
                        #geo.filter = list(Region = 5),
                        class = "sf")

# Juntando os casos por cidade e mapa
cities_map <- cities_map %>% 
  left_join(d.cidades.cum, by = c("City" = "ibgeID")) 

 
# Por estado
state_map <- get_brmap(geo = "State",
                        #geo.filter = list(Region = 5),
                        class = "sf")

```




```{r, echo=FALSE, results='hide'}

# leaflet por municipio
cities_map <- cities_map %>% 
  mutate(
    totalCases = replace_na(totalCases, replace = 0),
    deaths = replace_na(deaths, replace = 0),
    cases.cat = cut(totalCases, 
                     breaks = c(-1, 0, 10, 100, 500, 1000, 1000000),
                     labels = c("Nenhum caso", "[1 - 10]", "[11-100]", "[101 - 500]", "[501 - 1000]", "Acima de 1000"), 
                    right = T
    )
  )
pal.cities <- colorFactor(palette = "YlOrRd", cities_map$cases.cat)

# Criando o mapa por município
l <- leaflet( cities_map ) %>%
  addTiles() %>%
  addProviderTiles(providers$CartoDB.Positron, group = "Claro") %>%
  addProviderTiles(providers$HERE.satelliteDay, group = "Satélite") %>%
  addPolygons(color = "#444444", weight = 1, smoothFactor = 0.5,
    opacity = 1.0, fillOpacity = 0.5,
    fillColor = ~pal.cities(cases.cat),
    highlightOptions = highlightOptions(color = "white", weight = 2,
      bringToFront = TRUE, ),
    popup = ~paste0("", nome,":
", " Confirmados: ", totalCases, "
", " Óbitos: ", deaths, "") ) %>% addLegend("bottomright", pal = pal.cities, values = ~cases.cat, title = "Casos confirmados do COVID-19", opacity = 1 ) %>% addLayersControl( baseGroups = c("Claro", "Satélite"), options = layersControlOptions(collapsed = TRUE) ) ``` ```{r, echo=FALSE, results='hide'} # leaflet por estado d.estados.cum <- d.estados %>% filter(state != "TOTAL") %>% group_by(state) %>% summarise( totalCases = max(totalCases), deaths = max(deaths) ) state.cod <- d.cidades %>% mutate( state_cod = as.numeric(substr(x = as.character(ibgeID),start = 1, stop = 2)) ) %>% group_by( state, state_cod ) %>% summarise( n = n() ) %>% select(., -n) state_map <- state_map %>% left_join( state.cod, by = c("State"="state_cod")) %>% left_join( d.estados.cum, by = "state" ) state_map <- state_map %>% mutate( totalCases = replace_na(totalCases, replace = 0), deaths = replace_na(deaths, replace = 0), cases.cat = cut(totalCases, breaks = c(-1, 0, 100, 500, 1000, 5000, 1000000), labels = c("Nenhum caso", "[1 - 100]", "[101-500]", "[501 - 1000]", "[1001 - 5000]", "Acima de 5000"), right = T ) ) # state_map %>% sf::st_drop_geometry() %>% View() pal.state <- colorFactor(palette = "YlOrRd", domain = state_map$cases.cat) # Criando o mapa por município l2 <- leaflet( state_map ) %>% addTiles() %>% #addProviderTiles(providers$CartoDB.DarkMatter, group = "Escuro") %>% addProviderTiles(providers$CartoDB.Positron, group = "Claro") %>% addProviderTiles(providers$HERE.satelliteDay, group = "Satélite") %>% addPolygons(color = "#444444", weight = 1, smoothFactor = 0.5, opacity = 1.0, fillOpacity = 0.5, fillColor = ~pal.state(cases.cat), highlightOptions = highlightOptions(color = "white", weight = 2, bringToFront = TRUE, ), popup = ~paste0("", nome,":
", " Confirmados: ", totalCases, "
", " Óbitos: ", deaths, "") ) %>% addLegend("bottomright", pal = pal.state, values = ~cases.cat, title = "Casos confirmados do COVID-19", #labFormat = labelFormat(prefix = "$"), opacity = 1 ) %>% addLayersControl( baseGroups = c("Claro", "Satélite"), options = layersControlOptions(collapsed = TRUE) ) ``` ```{r echo=FALSE, results='hide'} tbl.covid.state <- d.estados %>% filter(state != "TOTAL" & totalCases >= 100) %>% mutate( date = ymd(date) ) g.state <- tbl.covid.state %>% ggplot(aes( y = totalCases, x = date, group = state, color = state )) + geom_point(show.legend = F) + scale_color_discrete("Estados") + geom_line(show.legend = F) + geom_label( data = tbl.covid.state %>% filter(date == max(date)), mapping = aes(x = date, y = totalCases, label = state ), show.legend = F ) + scale_y_continuous(trans = "log10") + ylab("Total de casos de COVID-19") + #xlab("Dia") + scale_x_date(name = "Dia", date_breaks = "5 days", date_labels = "%d/%m") + theme_bw(base_size = 14) + ggtitle("Estados com transmissão comunitária") g.state.obitos <- tbl.covid.state %>% filter(deaths > 10) %>% ggplot(aes( y = deaths, x = date, group = state, color = state )) + geom_point(show.legend = F) + geom_line(show.legend = F) + geom_label( data = tbl.covid.state %>% filter(deaths > 10) %>% filter(date == max(date)), mapping = aes(x = date, y = deaths, label = state ), show.legend = F ) + scale_y_continuous(trans = "log10") + ylab("Óbitos por COVID-19") + #xlab("Dia") + scale_x_date(name = "Dia", date_breaks = "1 day", date_labels = "%d/%m") + theme_bw(base_size = 14) + ggtitle("Óbitos em estados com transmissão comunitária", subtitle = "(pelo menos 10 óbitos notificados)" ) g.state.newxtot <- tbl.covid.state %>% ggplot(aes( y = newCases, x = totalCases, color = state, group = state)) + geom_line( alpha = 0.5, show.legend = F) + geom_label( data = tbl.covid.state %>% filter(date == max(date)), mapping = aes(newCases, x = totalCases, label = state ), show.legend = F ) + scale_x_continuous(trans = "log10") + scale_y_continuous(trans = "log10") + xlab("Total de casos") + ylab("Casos novos") + theme_bw(base_size = 14) tbl.covid.state <- tbl.covid.state %>% group_by(state) %>% mutate( tempo = as.numeric( date - min(date) ), maxtempo = max(tempo) ) %>% ungroup() g.cases.100 <- tbl.covid.state%>% ggplot(aes( y = totalCases, x = tempo, group = state, color = state)) + geom_point(show.legend = F) + geom_line(show.legend = F) + geom_label( data = tbl.covid.state %>% filter(date == max(date) ), mapping = aes(x = maxtempo, y = totalCases, label = state ), show.legend = F ) + scale_y_continuous(trans = "log10") + ylab("Total de casos") + xlab("Dias a partir do centésimo caso") + theme_bw(base_size = 14) g.obitos.100 <- tbl.covid.state %>% filter(deaths > 10 ) %>% ggplot(aes( y = deaths, x = tempo, group = state, color = state)) + geom_point(show.legend = F) + geom_line(show.legend = F) + geom_label( data = tbl.covid.state %>% filter(deaths > 10 ) %>% filter(date == max(date) ), mapping = aes(x = maxtempo, y = deaths, label = state ), show.legend = F ) + scale_y_continuous(trans = "log10") + ylab("Total de óbitos") + xlab("Dias a partir do centésimo caso e 10o óbito") + theme_bw(base_size = 14) ``` COVID-19 por estados ===================================== Row ----------------------------------------------------------------------- ### Casos confirmados de COVID-19 ```{r} #usar o dconfirmed pq o dados remove valueBox(value = sum(d.estados.cum$totalCases), color = "orange", #icon = "glyphicon-ok" ) ``` ### Óbitos por COVID-19 ```{r} #usar o dconfirmed pq o dados remove valueBox(value = sum(d.estados.cum$deaths), color = "red", #icon = "glyphicon-ok-sign" ) ``` ### Letalidade ```{r} #usar o dconfirmed pq o dados remove valueBox(value = paste( round(sum(d.estados.cum$deaths) / sum(d.estados.cum$totalCases) * 100), "%"), color = "red", #icon = "glyphicon-ok-sign" ) ``` Row ----------------------------------------------------------------------- ### Casos confirmados por estado ```{r} g.state ``` ### Clique nos estados para ver as estatísticas {data-width=500} ```{r} l2 ``` Row ----------------------------------------------------------------------- ### Óbitos por estado ```{r} g.state.obitos ``` ### Óbitos confirmados a partir do 100o dia ```{r} g.obitos.100 ``` COVID-19 por municípios ===================================== Row ----------------------------------------------------------------------- ### Casos confirmados de COVID-19 ```{r} #usar o dconfirmed pq o dados remove valueBox(value = sum(d.estados.cum$totalCases), color = "orange", #icon = "glyphicon-ok" ) ``` ### Óbitos por COVID-19 ```{r} #usar o dconfirmed pq o dados remove valueBox(value = sum(d.estados.cum$deaths), color = "red", #icon = "glyphicon-ok-sign" ) ``` ### Letalidade ```{r} #usar o dconfirmed pq o dados remove valueBox(value = paste( round(sum(d.estados.cum$deaths) / sum(d.estados.cum$totalCases) * 100), "%"), color = "red", #icon = "glyphicon-ok-sign" ) ``` Row ----------------------------------------------------------------------- ### Casos confirmados por estado ```{r} g.cases.100 ``` ### Clique nos municípios para ver as estatísticas {data-width=500} ```{r} l ``` Informação atualizada em `r format(max(d.cidades$date), "%d/%m/%Y")` =====================================

Fonte dos dados

**Casos de Covid-19 no Brasil** https://github.com/wcota/covid19br/

Software

**The R Project for Statistical Computing** https://www.r-project.org/ DT: https://rstudio.github.io/DT/ flexdashboard: https://rmarkdown.rstudio.com/flexdashboard/ ggplot2: https://ggplot2.tidyverse.org/ leaflet: https://rstudio.github.io/leaflet/ leafpop: https://github.com/r-spatial/leafpop brazilmaps: http://github.com/rpradosiqueira/brazilmaps Dashboard desenvolvido por Leonardo Bastos (pesquisador do MAVE/PROCC/Fiocruz) e por [Lucas Bianchi](http://www.lucasbianchi.com/) (doutorando em epidemiologia, ENSP/FIocruz). Adaptado do dashboard desenvolvido pela professora [Paula Moraga](http://www.paulamoraga.com/) (Univeristy of Bath, UK) usando dados coletados pelo agregador desenvolvido por [Wesley Cota](https://wesleycota.com/) (doutorando da UFV e Universidad de Zaragoza, Espanha).